package com.itheima.work;

import java.time.Duration;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

/*
* 题目一
	请编写程序，从控制台接收一个“生日”，格式：yyyy-MM-dd，程序要能够计算并打印他来到世界xx天。
	注意：“生日”必须早于“当前日期”，否则提示：生日必须早于当前日期！
* */
public class Test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

//      1.请编写程序，从控制台接收一个“生日”，格式：yyyy-MM-dd，程序要能够计算并打印他来到世界xx天。注意：“生日”必须早于“当前日期”，否则提示：生日必须早于当前日期！
        method1(scanner);

//      2.请编写程序，从控制台分别接收两个“生日”，格式：yyyy年MM月dd日，程序要能够计算并打印：第一个生日大于/小于第二个生日。注意：要求验证生日日期必须早于当前日期
//        method2(scanner);

//      3.请在控制台以“xxxx年xx月xx日 xx时xx分xx秒”的格式打印当前系统时间。
//        method3();

//      4.请编写程序，从控制台接收一个“日期”，格式：yyyy-MM-dd，程序将其转换为：xxxx年xx月xx日的格式输出到控制台。
//        method4(scanner);
    }

    private static void method1(Scanner scanner) {
        System.out.println("请输入生日,格式：yyyy-MM-dd:");
        String s = scanner.nextLine();
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        LocalDate parse = LocalDate.parse(s, pattern);
        LocalDate now = LocalDate.now();
        if (!parse.isBefore(now)){
            System.out.println("生日输入有误");
            return;
        }
        long l = parse.toEpochDay();
        long l1 = now.toEpochDay();
        System.out.println("他来到世界"+(l1-l)+"天");
    }

    private static void method4(Scanner scanner) {
        System.out.println("请输入一个生日,格式：yyyy-MM-dd:");
        String one = scanner.nextLine();
        DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
        DateTimeFormatter dateTimeFormatter3 = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        LocalDate localDate = LocalDate.parse(one, dateTimeFormatter2);
        String format1 = localDate.format(dateTimeFormatter3);
        System.out.println(format1);
    }

    private static void method3() {
        LocalDateTime now = LocalDateTime.now();
        DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH时mm分ss秒");
        String format = now.format(dateTimeFormatter1);
        System.out.println(format);
    }

    private static void method2(Scanner scanner) {
        System.out.println("请输入第一个人生日:");
        String one = scanner.nextLine();
        System.out.println("请输入第二个人生日:");
        String two = scanner.nextLine();


        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        LocalDateTime p1 = LocalDateTime.parse(one, dateTimeFormatter);
        LocalDateTime p2 = LocalDateTime.parse(two, dateTimeFormatter);
        Duration between = Duration.between(p1, p2);
        long millis = between.toMillis();
        if (millis<0){
            System.out.println("第一个小于第二个");
        }else {
            System.out.println("第一个大于第二个");
        }
    }
}
